1. Field of Invention
This invention relates to communication systems.
2. Description of Related Art
Currently, transparent layer proxies are being widely deployed in the Internet to enable a vast variety of applications. The proxies are used for web proxy caching, as transcoders, firewalls and to distribute load among a group of servers. Transparent proxies are commonly used in solutions when an application is to be proxied in a manner that is completely invisible to a client, without requiring any prior configuration. Recently, there has been a great deal of activity in the area of transparent proxies for Web caching. A proxy server caches information for internal users who access and request information via the Internet. These Web caching devices cache often-accessed pages to improve access for Internet users.
In the simplest scenario, a transparent proxy intercepts all Transmission Control Protocol (TCP) packets of data that are routed through the transparent proxy. This function may be refined by having the proxy intercept TCP packets destined only for specific ports or a specific set of destination addresses. The proxy's function is to respond to the client request, many times while masquerading as the remote web server. Scalability is achieved by partitioning client requests into separate hash buckets based on the destination address, effectively mapping web service to multiple caches attached to the proxy.
Two types of proxies are commonly used at Layer 4 and Layer 7 of the OSI networking stack. A Layer-4 switch (or simply L-4 switch) functions to intercept TCP packets of data as described earlier. However, a Layer-7 switch (or L-7 switch) parses a Hyper Text Transfer Protocol (HTTP) request and extracts the Universal Resource Locator (URL), and possibly other fields of the HTTP request before deciding what to do with the request. Furthermore, the inspection of the HTTP request takes part in the applications layer or Layer 7.
A problem associated with the use of transparent L-4 and L-7 Web proxies is that the proxies must be located at focal points in a network to ensure that all IP packets of an intercepted TCP connection are seen by the intercepting transparent proxy. Since routing functions in an Internet Protocol (IP) network can lead to situations where multiple paths from client to server may be cost effective, situations may occur where packets of a connection follow multiple paths. Subsequently, in this situation, a transparent proxy may see only a fraction of packets of a specific connection. In another situation, routes may change mid-way through a TCP connection due to routing updates within the IP network. For these reasons, transparent proxies are deployed exclusively at the edges or focal points within a network and used as gateways to/from single-homed client or servers. However, locating the proxy at the edge or focal point with a network is not always the best place to deploy a proxy acting as a Web cache. Studies for Web caching file objects suggest that a Web cache is more effective when it is located inside the network instead of at the edge of a network.
Accordingly, there is a need for new technology that will allow more flexibility in the placement of proxy devices anywhere in a communications network.